package com.mastercard.assets.web.util.to;

import com.mastercard.assets.MasterCardException;
import com.mastercard.assets.jpa.TblProducto;

public class CampaniaProductoWraper
	implements
		java.io.Serializable
{
	private int cveProducto ;
	private String cp ;
	private String at ;
	private String it ;
	private String[ ] rr ;
	private String[ ] gdvpm ;
	private String gdvtp ;
	private long cpF ;
	private java.math.BigDecimal atF ;
	private float itF ;
	private float[ ] rrF ;
	private java.math.BigDecimal[ ] gdvpmF ;
        
	private java.math.BigDecimal gdvtpF ;
	private TblProducto producto ;
	
	
	public long getCpF() {
		return cpF;
	}
	public java.math.BigDecimal getAtF() {
		return atF;
	}
	public float getItF() {
		return itF;
	}
	public float[] getRrF() {
		return rrF;
	}
	public java.math.BigDecimal[] getGdvpmF() {
		return gdvpmF;
	}
	public java.math.BigDecimal getGdvtpF() {
		return gdvtpF;
	}
	public TblProducto getProducto() {
		return producto;
	}
	public void setProducto(TblProducto producto) {
		this.producto = producto;
	}
	public int getCveProducto() {
		return cveProducto;
	}
	public void setCveProducto(int cveProducto) {
		this.cveProducto = cveProducto;
	}
	public String getCp() {
		return cp;
	}
	public void setCp(String cp) {
		this.cp = cp;
	}
	public String getAt() {
		return at;
	}
	public void setAt(String at) {
		this.at = at;
	}
	public String getIt() {
		return it;
	}
	public void setIt(String it) {
		this.it = it;
	}
	public String[] getRr() {
		return rr;
	}
	public void setRr(String[] rr) {
		this.rr = rr;
	}
	public String[] getGdvpm() {
		return gdvpm;
	}
	public void setGdvpm(String[] gdvpm) {
		this.gdvpm = gdvpm;
	}
	public String getGdvtp() {
		return gdvtp;
	}
	public void setGdvtp(String gdvtp) {
		this.gdvtp = gdvtp;
	}
	public CampaniaProductoWraper(int cveProducto, String cp, String at,
			String it, String[] rr, String[] gdvpm, String gdvtp, TblProducto producto )
		throws
			MasterCardException
	{
		super();
		this.cveProducto = cveProducto;
		this.cp = cp;
		try
		{
			cpF = Long.parseLong( cp ) ; //Float.parseFloat( cp ) ; 
		}catch( Exception e )
		{
			throw new MasterCardException( "Cuentas participantes no es de tipo num&eacute;rico para el producto " + producto.getNombre( ) , -1 , e ) ;
		}
		this.at = at;
		try
		{
                    at = at.replace(",", "") ;
                    at = at.replace(" ", "") ;
			atF = java.math.BigDecimal.valueOf( Double.parseDouble( at ) )  ;
		}catch( Exception e )
		{
			throw new MasterCardException( "Average Ticket no es de tipo num&eacute;rico para el producto " + producto.getNombre( ) , -1 , e ) ;
		}
		this.it = it;
		try
		{
			itF = Float.parseFloat( it ) ;
		}catch( Exception e )
		{
			throw new MasterCardException( "Incremental Transaction no es de tipo num&eacute;rico para el producto " + producto.getNombre( ) , -1 , e ) ;
		}
		this.rr = rr;
		int index = 0 ;
		try
		{
			rrF = new float[ rr.length ] ;
			
			index = 0 ;
			for( String rrS : rr )
				rrF[ index++ ] = Float.parseFloat( rrS ) ; // Long.parseLong( rrS ) ;
		}catch( Exception e )
		{
			throw new MasterCardException( "ResponseRate " + index + " no es de tipo num&eacute;rico para el producto " + producto.getNombre( ) , -1 , e ) ;
		}
		this.gdvpm = gdvpm;
		try
		{
			gdvpmF = new java.math.BigDecimal[ gdvpm.length ] ;
			
			index = 0 ;
			for( String gdvpmS : gdvpm )
			{
				System.out.println( "Gdv por mes para " + producto.getNombre( ) + " = " + gdvpmS ) ;
                                gdvpmS = gdvpmS.replace(" ", "") ;
                                gdvpmS = gdvpmS.replace(",", "") ;
				gdvpmF[ index++ ] = java.math.BigDecimal.valueOf( Double.parseDouble( gdvpmS ) ) ;// Long.parseLong( gdvpmS ) ;
			}
		}catch( Exception e )
		{
			throw new MasterCardException( "GDV por mes " + index + " no es de tipo num&eacute;rico para el producto " + producto.getNombre( ) , -1 , e ) ;
		}
		this.gdvtp = gdvtp;
		try
		{
                    gdvtp = gdvtp.replace(" ", "") ;
                    gdvtp = gdvtp.replace(",", "") ;
			gdvtpF = java.math.BigDecimal.valueOf( Double.parseDouble( gdvtp ) ) ;// Long.parseLong( gdvtp ) ;
		}catch( Exception e )
		{
			throw new MasterCardException( "GDV total por producto no es de tipo num&eacute;rico para el producto " + producto.getNombre( ) , -1 , e ) ;
		}
		
		this.producto = producto ;
                try
		{
			gdvpmF = new java.math.BigDecimal[ gdvpm.length ] ;
			
			index = 0 ;
			for( String gdvpmS : gdvpm )
			{
				System.out.println( "Gdv por mes para " + producto.getNombre( ) + " = " + gdvpmS ) ;
                                gdvpmS = gdvpmS.replace(" ", "") ;
                                gdvpmS = gdvpmS.replace(",", "") ;
				gdvpmF[ index++ ] = java.math.BigDecimal.valueOf( Double.parseDouble( gdvpmS ) ) ;// Long.parseLong( gdvpmS ) ;
			}
		}catch( Exception e )
		{
			throw new MasterCardException( "GDV por mes " + index + " no es de tipo num&eacute;rico para el producto " + producto.getNombre( ) , -1 , e ) ;
		}
		
	}
	
	
}
